package vip.xiaomaoxiaoke.functiondemo.msg.repository;

import lombok.Data;

@Data
public class LocalMessageTable {
    private Long id;

    /**
     * 消息id
     * */
    private String msgId;


    /**
     * 应用名称，做集群之间的业务隔离，兼容分布式架构应用但是数据库共用的系统架构
     * */
    private String applicationName  ;

    /**
     * 是否有序
     * */
    private boolean orderly;

    private int retryCount;

    /**
     * 分区标识符，如果orderly为true 则相同的shardingKey会严格按照顺序去执行
     * 不管orderly怎么样，只要不为空，发送rocketmq实会设置为消息key,发送kafka时会作为分区key
     * */
    private String shardingKey;


    /**
     * 时间间隔
     * */
    private int timeInterval;


    /**
     * 最大重试次数
     * */
    private int maxRetries;

    /**
     * 发送状态
     *
     */
    private int state;


    /**
     * 响应内容
     */
    private String responseContent;

    /**
     * 拒绝策略执行状态
     * */
    private int refusalStrategiesState;

    /**
     * 数据体
     * */
    private String body;


    public void init() {
        this.setState(0);
        this.setRetryCount(0);
        this.setRefusalStrategiesState(0);
    }



}
